// #include<iostream>
// #include"UdpServer.hpp"
// #include"Dict.hpp"
// int main(int argc,char*argv[])
// {
//     //创建一个udpserver对象
//     //udpserver ip port;
//     //std::string ip=argv[1];
//     u_int16_t port=std::stoi(argv[1]);
//     UdpServer user(-1,port);
// Dict dict("./dictionary.txt");
// dict.LoadDict();
//     user.Init();
//     user.Start(&dict);
//     return 0;
// }

#include "UdpServer.hpp"
#include "Dict.hpp"

int main(int argc, char* argv[]) {
    if (argc != 2) {
        std::cerr << "Usage: " << argv[0] << " <port>" << std::endl;
        return 1;
    }

    uint16_t port = static_cast<uint16_t>(std::stoi(argv[1]));
    UdpServer server(port);

    Dict dict("./dictionary.txt");
    if (!dict.LoadDict()) {
        std::cerr << "Failed to load dictionary!" << std::endl;
        return 1;
    }

    if (!server.Init()) {
        std::cerr << "Failed to initialize server!" << std::endl;
        return 1;
    }

    server.Start(&dict);

    return 0;
}

